Newer
Older
pixi.js / examples / example 12 - Spine / index_pixie.html
@Dario Segura Dario Segura on 24 Nov 2014 3 KB -[EXAMPLES] Fixed spine examples.
<!DOCTYPE HTML>
<html>
<head>
    <title>pixi.js example 12 Spine</title>
    <style>
        body {
            margin: 0;
            padding: 0;
            background-color: #000000;
        }
    </style>


    <script src="../../bin/pixi.dev.js"></script>
</head>
<body>
    <script>


    // create an array of assets to load

    var assetsToLoader = ["../../logo_small.png", "data/Pixie.json", "data/iP4_BGtile.jpg", "data/iP4_ground.png"];

    // create a new loader
    loader = new PIXI.AssetLoader(assetsToLoader);

    // use callback
    loader.onComplete = onAssetsLoaded;

    //begin load
    loader.load();

    // create an new instance of a pixi stage
    var stage = new PIXI.Stage(0xFFFFFF, true);

    // create a renderer instance
    var renderer = new PIXI.autoDetectRenderer(1024, 640);

    // set the canvas width and height to fill the screen
    renderer.view.style.display = "block";
    renderer.view.style.width = "100%"
    renderer.view.style.height = "100%"

    // add render view to DOM
    document.body.appendChild(renderer.view);

    var postition = 0;
    var background;
    var background2;

    function onAssetsLoaded()
    {
        background = PIXI.Sprite.fromImage("data/iP4_BGtile.jpg");
        background2 = PIXI.Sprite.fromImage("data/iP4_BGtile.jpg");
        stage.addChild(background);
        stage.addChild(background2);

        foreground = PIXI.Sprite.fromImage("data/iP4_ground.png");
        foreground2 = PIXI.Sprite.fromImage("data/iP4_ground.png");
        stage.addChild(foreground);
        stage.addChild(foreground2);
        foreground.position.y = foreground2.position.y = 640 - foreground2.height;

        var pixie = new PIXI.Spine("data/Pixie.json");

        var scale = 0.3;//window.innerHeight / 700;

        pixie.position.x = 1024/3;
        pixie.position.y =    500

        pixie.scale.x = pixie.scale.y = scale


        //dragon.state.setAnimationByName("running", true);

        stage.addChild(pixie);

        pixie.stateData.setMixByName("running", "jump", 0.2);
        pixie.stateData.setMixByName("jump", "running", 0.4);

        pixie.state.setAnimationByName(0, "running", true);



        stage.mousedown = stage.touchstart = function()
        {
            pixie.state.setAnimationByName(0, "jump", false);
            pixie.state.addAnimationByName(0, "running", true, 0);
        }

        var logo = PIXI.Sprite.fromImage("../../logo_small.png")
        stage.addChild(logo);


        logo.anchor.x = 1;
        logo.position.x = 1024
        logo.scale.x = logo.scale.y = 0.5;
        logo.position.y = 640 - 70;
        logo.interactive = true;
        logo.buttonMode = true;
        logo.click = logo.tap = function()
        {
            window.open("https://github.com/GoodBoyDigital/pixi.js", "_blank")
        }

        requestAnimFrame(animate);
    }






    function animate() {

        postition += 10;

        background.position.x = -(postition * 0.6);
        background.position.x %= 1286 * 2;
        if(background.position.x<0)background.position.x += 1286 * 2;
        background.position.x -= 1286;

        background2.position.x = -(postition * 0.6) + 1286;
        background2.position.x %= 1286 * 2;
        if(background2.position.x<0)background2.position.x += 1286 * 2;
        background2.position.x -= 1286;

        foreground.position.x = -postition;
        foreground.position.x %= 1286 * 2;
        if(foreground.position.x<0)foreground.position.x += 1286 * 2;
        foreground.position.x -= 1286;

        foreground2.position.x = -postition + 1286;
        foreground2.position.x %= 1286 * 2;
        if(foreground2.position.x<0)foreground2.position.x += 1286 * 2;
        foreground2.position.x -= 1286;

        requestAnimFrame( animate );


        renderer.render(stage);
    }

    </script>

    </body>
</html>